B 币安 · 全球最大的加密货币交易所币安 注册 → AD OKX OKX · 全球领先的加密货币交易所OKX 注册 → AD
🪙 加密货币分析工具

🧪 加密货币策略回测器

选择币种、K线周期和期间,用币安真实K线回测金叉、RSI、布林带、MACD、超级趋势、唐奇安突破6种策略,将收益率、最大回撤、胜率和交易明细与持有收益率比较。

加载中 数据:币安公开 API

策略与条件

以已收盘K线的收盘价判断 · 在下一根K线开盘价成交
–

回测结果

总收益率–
年化收益率 (CAGR)–
最大回撤 (MDD)–
胜率–
盈利因子–
交易次数–
平均每笔收益–
持仓时间占比–
最终净值–
–

价格与买卖点

仅已收盘K线 · ▲买入 ▼卖出(收益率)

当前状态

–

交易统计

平均盈利交易–
平均亏损交易–
平均盈亏比–
最佳交易–
最差交易–
最大连续亏损–
平均持仓时间–
无成本时的收益率–
成本吞掉的收益率–

净值曲线

回撤(相对此前最高净值的 %)

交易记录

# 买入成交 买入价 卖出成交 卖出价 收益率 持有
–

点击编号,价格图会跳到该笔交易。成交价已计入滑点,收益率已扣除买卖双向手续费。

邻近参数检验(过拟合检查)

–

这是用当前设置附近的参数在同一区间重新回测得到的总收益率。如果只有中间一格特别好而周围都差,这组参数很可能只是碰巧契合过去。点击格子即可切换到该参数。

将同一策略应用于头部币种

币种
点击按钮,按当前的策略、参数、区间和成本,应用于成交额靠前的币种。

点击币种名称,上方会显示该币种的详细结果。

解读回测结果时

📚 术语看不懂?→ 加密货币·股票术语词典

仅供参考,不构成投资建议。数据来自交易所公开 API,可能延迟或中断。 图表: TradingView Lightweight Charts™

这个工具能做什么

如果过去一直照这个策略操作,结果会怎样?加密货币策略回测器用币安真实的历史K线,跑一遍金叉(均线交叉)、RSI 逆势、布林带反转、MACD 交叉、超级趋势(SuperTrend)、唐奇安突破6种交易规则,并把总收益率·年化收益率(CAGR)·最大回撤(MDD)·胜率·盈利因子与同期一直持有(持有)的结果并排比较。计入手续费和滑点,只用已收盘的K线判断信号,不使用未来数据。

计算方法

只使用币安现货 USDT 市场已收盘的K线。日K线测试最近1·2·4年(365·731·1,461根),1小时·4小时K线测试最近1,000·2,000·3,000根,并多获取之前的300根K线,只用于预先计算指标(不进行交易)。信号以第 i 根K线的收盘价判断,成交在第 i+1 根K线的开盘价。买入成交价 = 开盘价 × (1 + 滑点),卖出成交价 = 开盘价 × (1 − 滑点),每次成交都扣除手续费(默认0.1%)。滑点默认值为0.05%,初始资金为1,000 USDT,每次都用全部资金买卖,只做多。"向上突破"指上一根K线 A ≤ B 而本根K线 A > B 的情况。① 均线交叉:快线(默认 EMA 20)向上突破慢线(EMA 60)时买入,向下跌破时卖出。② RSI 逆势:RSI(14,Wilder 平滑)向上越过30时买入,从70向下回落时卖出。③ 布林带反转:通道 = 20根K线简单移动平均 ± 2 × 总体标准差,收盘价向上突破下轨时买入,收盘价 ≥ 中轨(可选上轨)时卖出,同一根K线条件重叠时卖出优先。④ MACD 交叉:MACD(EMA 12 − EMA 26)向上突破信号线(MACD 的 EMA 9)时买入(可选仅在 MACD < 0 时),向下跌破时卖出。⑤ 超级趋势(ATR 10,倍数3):方向由下跌转为上涨的K线买入,由上涨转为下跌的K线卖出。⑥ 突破(唐奇安):收盘价 > 前20根K线最高价时买入,收盘价 < 前10根K线最低价时卖出。总收益率 = 最终市值 ÷ 初始资金 − 1(持仓中则按最后收盘价估值),CAGR = (最终市值 ÷ 初始资金)^(1 ÷ 年数) − 1(年数 = 从第一根K线开始到最后一根K线收盘的期间 ÷ 365.25天,不足3个月不显示),MDD = 市值相对此前最高点下跌最多的比例,胜率 = 盈利交易 ÷ 已结束交易,盈利因子 = 盈利交易收益率之和 ÷ 亏损交易亏损率之和,平均盈亏比 = 平均盈利 ÷ 平均亏损,市场暴露 = 持仓的K线数 ÷ 全部K线数。交易收益率已扣除手续费和滑点。持有(买入持有)是在测试第一根K线开盘价以同样的手续费·滑点买入,一直持有到最后收盘价的情形。

各画面区块的解读方法

顶部的币种·K线周期·测试期间

在最上方一行选择币种(币安 USDT 市场成交额排名靠前的列表)、K线周期(1小时·4小时·日K线)和测试期间。日K线为最近1·2·4年(365·731·1,461根),1小时·4小时K线为最近1,000·2,000·3,000根,旁边会同时显示大约多少天。右侧文字是实际测试的第一根和最后一根K线的日期以及K线数量。如果是刚上线不久的币种,只有上线后的数据,会补充说明从那天开始测试。这个工具只使用已收盘的K线,丢弃进行中的K线,所以最后一根K线永远是已经收盘的。画面每1分钟只检查是否有新K线收盘,只有收盘时才重新获取数据并全部重新计算。可测试的已收盘K线少于60根时,会显示提示而不是结果。

  • 更改K线周期后,期间列表也会随之改变。
  • 地址中包含币种·K线周期·期间·策略·参数·成本。

策略与条件

在六个策略(均线交叉、RSI 逆势、布林带反转、MACD 交叉、超级趋势、突破(唐奇安))中选一个,就只显示该策略的参数栏。默认值为 EMA 20/60、RSI 14·30/70、布林带 20·2·中轨平仓、MACD 12/26/9、超级趋势 ATR 10·倍数3、唐奇安 20/10。在下面一行调整手续费(默认0.1%)、滑点(默认0.05%)和初始资金(默认1,000 USDT)。修改数值后立即重新计算,超出范围或快线比慢线长时,会把之前的结果淡化保留并写明原因。最下方的句子是把当前参数下的买卖规则原样写出来。"恢复默认值"把当前策略和成本恢复为默认值,"6个策略比较"会在下方打开比较表。

  • 布林带在同一根K线上买卖条件重叠时,卖出优先。
  • 所有策略都只做多,每次用全部资金买卖。

回测结果数字与摘要

九个格子分别是总收益率、年化收益率(CAGR)、最大回撤(MDD)、胜率(盈·亏笔数)、盈利因子(下方附平均盈亏比)、交易次数(年均次数)、平均交易收益(最佳·最差)、市场暴露、最终市值(换算韩元),上面三格下方还会同时显示同期持有的数值。期间短于3个月时 CAGR 留空,不足1年时会注明是把不足1年的结果年化后的值。最后仍持有的仓位不计入交易次数,另记为"持仓中1笔另计",市值按最后收盘价计算。下方句子用一段话写出与持有的收益率差(百分点)、最大回撤比较、持仓时间占比和成本侵蚀的收益率,已结束交易少于10笔时还会补充说明胜率·盈利因子容易被偶然大幅左右。

  • 韩元换算是乘以 Bithumb(失败时用 Upbit)的 USDT 韩元行情得到的参考值。

价格与买卖时点图

在测试区间的已收盘K线上画出策略的线(两条均线、布林带三条线、超级趋势上涨·下跌线、前 N 根K线最高·最低线)。RSI 和 MACD 策略会在下方另开副图窗口,显示 RSI 和买卖基准线,或 MACD·信号线·柱状图。▲ 表示买入、▼ 表示卖出成交的K线(信号出现后下一根K线的开盘价),卖出标记旁附有该笔交易的收益率。交易多时文字会重叠,所以买入文字只在12笔以下、卖出收益率只在60笔以下时显示。如果最后一根已收盘K线出现了尚未成交的信号,会在那根K线上用圆圈标出"买入信号"·"卖出信号"。信号和成交看起来错开一根K线并不是错误,而正是"按收盘价判断、在下一根K线开盘价成交"的规则。

  • 价格·副图·市值·回撤四张图的横轴会一起移动。

当前状态与交易统计

"当前状态"告诉你规则现在处于什么位置。持仓时写出买入成交日期·成交价和按最后收盘价计算的浮动收益率,持有现金时写出最后一笔交易何时以多少收益率结束。接着显示最后一根已收盘K线是否出现了新的买卖信号,如果出现,说明按规则将在下一根K线开盘价成交,标题旁显示下一根K线的收盘时间。过了那个时间,1分钟内会重新计算,状态可能改变。右侧交易统计包括平均盈利·亏损交易、平均盈亏比、最佳·最差交易、最大连续亏损(收益率连续为0以下的次数)、平均持仓期间(日K线以天计,其余以K线根数计)、无成本时的收益率,以及成本侵蚀的收益率(百分点)。出现信号只是意味着规则如此判定,并不是建议交易。

  • 交易收益率已扣除手续费和滑点。

市值曲线·回撤图与交易记录

市值曲线按每根K线画出从初始资金开始的策略市值,以及用同样的钱在第一根K线开盘价买入并持有(持有)的市值,图例中写出各自的总收益率。观察长期或大幅波动时,打开"对数刻度"更便于按比例比较前期区间。下方回撤图用策略和持有两条线,显示相对截至当时的最高市值低了百分之几。策略曲线平坦的区间是持有现金等待的区间。交易记录表最新交易在上,如有持仓,会以"持仓中"和最后收盘价估值显示在最上方。表中显示买入·卖出成交时间、计入滑点的成交价、收益率和持仓期间,点击编号,价格图会移动到该笔交易的区间。

  • 回撤图最深的点就是结果格中的最大回撤。

周边参数检验(过拟合检查)

这张总收益率表把当前策略的两个核心参数换成周边数值,以最多5×5种组合在同一期间重新运行。期间型数值按0.5·0.75·1·1.5·2倍变化,RSI 基准线按 ±5·±10 变化,倍数型数值按 ±0.5·±1 变化,超出输入范围或不符合规则的组合(快线 ≥ 慢线等)留空。格子的深浅与收益率大小成正比,当前设置的格子用边框标出。标题旁显示组合中为正的个数和高于持有的个数。如果只有中间格子特别好而相邻的都差,很可能是过去偶然吻合的数字;如果大范围内都差不多,说明规则对参数不太敏感。点击格子即可换成那组数值。

  • 成本·期间沿用当前设置。

6个策略比较与头部币种应用

点击"6个策略比较",会把六个策略各自以默认值在同样的币种·期间·成本下运行,按总收益率排列,并在最下方附上持有一行。各栏为总收益率、CAGR、MDD、CAGR ÷ MDD(每1单位回撤对应的年化收益)、胜率、盈利因子、交易次数(持仓中则+1)、市场暴露,点击策略名称即可切换到该策略。下方的"同一策略应用于头部币种"只在点击按钮时,用当前策略·参数·期间·成本对成交额靠前的币种(最多20个)运行,结果一到就填入策略·持有收益率及其差值、策略 MDD、胜率、交易次数,并可按表头排序。更改设置后会清空表格并提示重新点击。如果只在一个币种上表现好、而在大多数币种上都低于持有,那个结果可能只是单个币种的偶然。

  • 数据不足的币种显示为"数据不足"。
  • 结束后,下方会显示高于持有的币种数量和两种收益率的中位数。

使用顺序

先确定币种·K线周期·期间,填入所用交易所的实际手续费和宽松的滑点。选择策略后,在结果格中把总收益率和最大回撤与持有数值并排查看,确认交易次数是否足够。通过价格图和交易记录找出在哪些区间赚了、哪些区间亏了,再用市值曲线和回撤图看看这个过程是否承受得住。接着用周边参数检验确认是否对参数过于敏感,用6个策略比较和头部币种应用检验结果是否只来自某一个策略·某一个币种。这个工具是用已收盘K线重放过去的计算器,并不是需要一直开着看的画面,新K线收盘后1分钟内会重新计算。适合搭配使用的有定投计算器、多币种技术指标扫描器、实时加密货币图表等工具。

  • 结果看起来越好,越要提高成本再跑一遍。
  • 复制地址保存下来,以后可以再次打开同样的条件。

使用须知

常见问题

是不是偷偷用了未来数据?

没有。信号只用截至已收盘K线收盘价的数据计算,成交在下一根K线的开盘价。进行中的K线完全不使用。不过实际交易中,在挂单稀薄或价格急变时,可能以比开盘价更不利的价格成交,把滑点设得宽松一些更接近现实。

和 TradingView 策略测试器的结果不同。

起始时点、成交方式(这里是下一根K线开盘价)、手续费·滑点、资金管理(每次全额投入·复利)、盈利因子定义(这里以交易收益率之和为准)不同,数字就会不同。指标数值本身遵循 TradingView 的定义(包括 EMA·RSI·ATR 的起始方式),所以条件一致时,信号几乎都会出现在同一根K线上。

能做空或加杠杆吗?

不能。只做现货多头。出现卖出信号就全部卖出,持有现金等待,下一次买入信号再买入。不考虑合约·杠杆·分批买入。

手续费和滑点设多少合适?

请填入所用交易所和等级的实际手续费。币安现货的基础手续费为0.1%。滑点即使是成交额大的币种也在0.05%左右,成交少的币种或较短的K线周期设得更大更安全。在交易统计的"成本侵蚀的收益率"中可以直接看到成本的影响。

结果什么时候会变?韩元金额怎么计算?

每1分钟检查是否有新K线收盘,收盘后重新获取数据并全部重新计算。最终市值的韩元金额是 USDT 金额乘以 Bithumb(失败时用 Upbit)的 USDT/KRW 行情得到的参考值,可能与韩国国内交易所的韩元价格(含泡菜溢价)不同。

仅供参考信息,不构成投资建议。数据来自交易所公开 API,可能出现延迟或中断。

📚 推荐阅读
📊图表分析,从一开始就学对→ 📓交易日志怎么写:把入场依据和结果分开记录、减少事后解读的记录习惯→ 📍抛物线SAR怎么看:加速追踪的点与转向规则→ 🧲乖离率怎么看:偏离均线的距离与趋势行情的陷阱→
← 全部加密货币分析工具